Code Complete

Code Complete

  • Downloads:4771
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-03-06 03:16:15
  • Update Date:2025-09-06
  • Status:finish
  • Author:Steve McConnell
  • ISBN:0735619670
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade。 Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction。 Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance。 No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code。
Discover the timeless techniques and strategies that help you:


Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Download

Reviews

Fermin Quant

After 11 years as a professional Software Engineer, I now know that I should have read this book the year I graduated。 It is an excellent book, and you will be a better professional after studying it and applying the tips within。The book is not a dry read, and has a bit a humor here and there, which makes it easier to keep reading in spite of the technical nature of it。 It has a lot of code so it is not purely theoretical, but it is also full of academic references, so you know that the tips giv After 11 years as a professional Software Engineer, I now know that I should have read this book the year I graduated。 It is an excellent book, and you will be a better professional after studying it and applying the tips within。The book is not a dry read, and has a bit a humor here and there, which makes it easier to keep reading in spite of the technical nature of it。 It has a lot of code so it is not purely theoretical, but it is also full of academic references, so you know that the tips given are a mix of both real experience and disciplined research。 Before this book I was not aware there was so much organized knowledge surrounding software engineering that dates from so back in time, it has really opened my mind that there is still a lot more for me to continue learning。 Knowledge that is beyond latest fads and technology which will be obsolete after 3 or so years, but basic knowledge that will improve my core level professionally and will remain relevant through all the rapid change going on in the tech industry。It is a long book, probably the longest I've read, and it is really worth it。 。。。more

qing

So much to learn。 Excellent book!

Ravi Sinha

I should have read this years ago, but better late than never。 Software engineering being as complex as it can be, nice that a comprehensive book like this (albeit only covering the _construction_ part of software engineering) exists that can be returned to time and again for guidance。

Sudheesh

This is one of those books that every programmer must read。If there's one problem with this book, it's that it is too long, at 900+ pages。 But, I wouldn't hold that against it。 This book has tons of good information。 I should have read this years ago。 A lot of what I learnt over the years could have been done so earlier。 Also, there were a few points that I didn't completely agree with, but I guess that's ok。 Like it is said here, creating software is a craft。The top 3 biggest takeaways from thi This is one of those books that every programmer must read。If there's one problem with this book, it's that it is too long, at 900+ pages。 But, I wouldn't hold that against it。 This book has tons of good information。 I should have read this years ago。 A lot of what I learnt over the years could have been done so earlier。 Also, there were a few points that I didn't completely agree with, but I guess that's ok。 Like it is said here, creating software is a craft。The top 3 biggest takeaways from this book are* Design is a heuristic process* Software's primary technical imperative is managing complexity* Code for humans first, and computers second 。。。more

Tom

Even though some of the info is hilariously dated (i。e。 you should consider trying this hip new thing called source control) - the sections on construction of software at the class and method level are truly great and timeless。

Imp

Many programmers regard this book as repeating obvious and basic things, but that is because those ideas are so fundamental, most programmers take them from granted。However, too many rookie programmers are missing these very base principles。Still relevant today, but due to its age the contents should be taken with a grain of salt, and don't get defensive if someone contradicts something written in this book。 Many programmers regard this book as repeating obvious and basic things, but that is because those ideas are so fundamental, most programmers take them from granted。However, too many rookie programmers are missing these very base principles。Still relevant today, but due to its age the contents should be taken with a grain of salt, and don't get defensive if someone contradicts something written in this book。 。。。more

Itai

It took me a while to read this book cover to cover, yet I cannot in good conscience recommend reading it in any other way。 Yes, it's extensive。 Yes, it goes into great detail。 Yes, it examines the "appropriate" number of spaces between lines and comments。 So I can see why some might say it's too heavy or technical。 But the underlying theme of the book is introducing several core principals that every developer should have, as well as breaking some very prominent myths that can inhibit individua It took me a while to read this book cover to cover, yet I cannot in good conscience recommend reading it in any other way。 Yes, it's extensive。 Yes, it goes into great detail。 Yes, it examines the "appropriate" number of spaces between lines and comments。 So I can see why some might say it's too heavy or technical。 But the underlying theme of the book is introducing several core principals that every developer should have, as well as breaking some very prominent myths that can inhibit individual developers, or teams and companies as a whole, from reaching their full potential。 The book is also not as heavy as a first glance might reveal。 The book is sprinkled with hilarious quotes that hammer home a certain lesson, and "hard data" blocks usually quote relevant research in the topic discussed。 I found myself laughing more than once, and even sharing some quotes with other programmers。 I highly recommend this book。 。。。more

Denis

Ohhh, so nice。。

Rob B

There's not very many topics in the field of software construction that this book doesn't cover! It's an extremely comprehensive guide to everything coding。Most of the material is still relevant in 2020, especially the parts about programmer psychology and approaches to software。Some key things are missing due to industry changes:- a lot of the recommendations around formatting are less relevant since autoformatters like autopep8, go fmt, or clang-format have become popular。 Some of the formatti There's not very many topics in the field of software construction that this book doesn't cover! It's an extremely comprehensive guide to everything coding。Most of the material is still relevant in 2020, especially the parts about programmer psychology and approaches to software。Some key things are missing due to industry changes:- a lot of the recommendations around formatting are less relevant since autoformatters like autopep8, go fmt, or clang-format have become popular。 Some of the formatting techniques that are good but not recommended by the book because they are a pain to maintain are made much easier by autoformatters。- expansion of the role of unit testing and test driven development; the book is a light on details for writing tests。 A more modern book would go into more details about writing tests, mocks and fakes, etc。- many examples using VB or C++ without smart pointers are less relevant today then they were in 2004。- distributed/parallel systems are much more common nowadays。 The nature of these systems mean that certain practices that are solid in a single-machine world make less sense in a distributed one where function calls can fail in many more ways, and can be slow over a network。For some of these there are some solid books out there that you can use to supplement Code Complete。 Doesn't stop this from being a really useful book! 。。。more

Nguyen Thắng

This book is the most important book I ever read for my career。 Recommended to anyone who wants to learn coding。

Joshua Stoutenburg

Great book for getting you to think of all the less-tangible dimensions of software development。

Adam McCartney

Excellent introduction to good software practices and enough fine grained detail to work as a reference。 Also full of references to further reading that offers a clear roadmap to anyone looking to learn more about the process of software development in the broadest possible sense。

Art

Tips I've learned so far from CC:1。 Always try to reduce complexity。 Eloquent methods naming, cyclomatic and NPath complexity, etc - it's not about the code exclusively but the kinda good motto for the day-to-day routines2。 Look for better alternatives, try to discover few pathways。 The very first solution doesn't mean the best one3。 It's ok to be stupid。 We all have very different starting conditions when come into programming。 Know your limitations and look for ways to evolve over time Tips I've learned so far from CC:1。 Always try to reduce complexity。 Eloquent methods naming, cyclomatic and NPath complexity, etc - it's not about the code exclusively but the kinda good motto for the day-to-day routines2。 Look for better alternatives, try to discover few pathways。 The very first solution doesn't mean the best one3。 It's ok to be stupid。 We all have very different starting conditions when come into programming。 Know your limitations and look for ways to evolve over time 。。。more

Wade Ripkowski

Great book, but too many study cites mixed in with content made staying focused difficult。

Vyom Jain

Highly recommended。 Great balance while writing concepts which can be very subjective and context specific。

IHEOMA MADUKA

am going to enjoy programming

Yaman

Interesting book for people who specialised in programming

Welah

Read this during college and it affected my later career more than all my classes combined。 Way more than "do this, don't do that", this book explains the mindset you need to be a great programmer。 It explains how to approach programming so well that all the other rules naturally extend from its core principles。The only criticism I have is the length。 To be honest, I skimmed the last 1/3 of the book because it starts to get redundant; if you understand the early lessons well, the later ones are Read this during college and it affected my later career more than all my classes combined。 Way more than "do this, don't do that", this book explains the mindset you need to be a great programmer。 It explains how to approach programming so well that all the other rules naturally extend from its core principles。The only criticism I have is the length。 To be honest, I skimmed the last 1/3 of the book because it starts to get redundant; if you understand the early lessons well, the later ones are obvious。 I think an abridged version would be even more helpful。 。。。more

Jai

Great book to pick at

Jaiprakash

One of the best books for a professional programmer。 If you have been coding for 1-2 years, this book will enable you to write code that is highly productive。A must read for all people who develop software。

Svart

The book seemed very worthwhile to me, but in some times it was too hard。 Some problem about software design I will read in future again。Some points of book are realy obvious, but in real work we are forget about they。I really liked the idea of readability and simplicity of the code, simplification and optimization after completion, not before。Really amazing book for understanding princips make code for developer from developer。 I would recommend this book。

Clay Siefken

If you write code for a living, buy this and read it。This timeless text has loads of practical wisdom about the craftsmanship of our trade。

Francisco

This book is gold。 It was written many years back but the advice is valid to our modern software development times。Must read for every software developer out there。

Scott Willeke

One of the best books on day-to-day coding。

Mikhail

This review has been hidden because it contains spoilers。 To view it, click here。 Формат: Книга Язык: РусскийЧестно признаюсь я являюсь фанатом Стива МакКоннела со времен моего прочтения его "Rapid Development" далеких лет 11 назад。 В то время это была книга которая открыла мне глаза на многие вещи в области управления проектами。 Данную книгу (Совершенный код) я планировал прочитать тоже достаточно давно, но руки дошли уже когда рабочие обязанности большого кодирования давно не требуют。 Книга хороша и действительно понравилось。 Единственное в очередной раз заставила задуматьс Формат: Книга Язык: РусскийЧестно признаюсь я являюсь фанатом Стива МакКоннела со времен моего прочтения его "Rapid Development" далеких лет 11 назад。 В то время это была книга которая открыла мне глаза на многие вещи в области управления проектами。 Данную книгу (Совершенный код) я планировал прочитать тоже достаточно давно, но руки дошли уже когда рабочие обязанности большого кодирования давно не требуют。 Книга хороша и действительно понравилось。 Единственное в очередной раз заставила задуматься как быстро бежит наша жизнь, т。к。 часть материала уже вынужден признать является несколько устаревшей。 Именно поэтому 4-ре, а не 5-ть。 В любом случае книга является классикой в области разработки программного обеспечения, и думаю ей и останется на горизонте еще как минимум ближайших 10 лет。 К перечтению, думаю да, но кусками когда нужно обновить список полезных идей в конкретной области (например форматирование текста программы и т。п。)。 。。。more

Jaime

This book is a behemoth, and also fantastic。 It’s well-written, carefully structured, and comprehensive。 There’s a lot of content in its ~850 pages, but it’s generally concise and to the point。 It covers everything from the nitty-gritty details of variable naming and indentation style to the much broader themes of software development, such as managing complexity, iterating, and collaborating。In my ~6 years as a software engineer, I have collected a toolbox of principles, instincts, tips, and tr This book is a behemoth, and also fantastic。 It’s well-written, carefully structured, and comprehensive。 There’s a lot of content in its ~850 pages, but it’s generally concise and to the point。 It covers everything from the nitty-gritty details of variable naming and indentation style to the much broader themes of software development, such as managing complexity, iterating, and collaborating。In my ~6 years as a software engineer, I have collected a toolbox of principles, instincts, tips, and tricks。 This book mostly reflected all those back to me, but with better rationales and hard data。 There were a few sections that felt a bit dated - but generally I was surprised how relevant most of it still is given how much programming has changed in the ~20 years since this was published。 。。。more

Justpassingby

Even the most recent edition of Code Complete appeared nearly 16 years ago: very old for a programming book; but it does have its own Wikipedia article。 The work has serious gaps despite its considerable size, but the underlying principles remain as true as ever。The broad scope of this book makes it elusive to capture in a review。In lifecycle management, McConnell advocates a traditional waterfall model, arguing that errors are more expensive the earlier they are committed and the longer they ar Even the most recent edition of Code Complete appeared nearly 16 years ago: very old for a programming book; but it does have its own Wikipedia article。 The work has serious gaps despite its considerable size, but the underlying principles remain as true as ever。The broad scope of this book makes it elusive to capture in a review。In lifecycle management, McConnell advocates a traditional waterfall model, arguing that errors are more expensive the earlier they are committed and the longer they are allowed to proliferate: don't design until know the requirements; don't code until you have a consistent design。 This flies in the face of more recent tendencies towards agile development, which considers continuous changes in requirements and in design to be just facts of life。In coding practices the most important lesson that I am taking away is this: programming (in anything but assembler) is writing for a human readership。 When you experience a conflict between writing convenience and reading convenience, always side with the latter。 This holds even if you are only "writing a program for yourself": yourself in 2 years will be a different person from yourself now。 And I will never use i and j als indexes in a double loop again。McDonnell likes code reviews but only if they are sufficiently formalized to become inspections。 He also encourages pair programming because (and only if) it combines insights of people from different backgrounds。Despite the considerable size of the work, there are now serious gaps。The gap that contributes most to the risk of this book becoming outdated, is the total absence of development frameworks。 Nobody develops systems from scratch anymore。 Quality standards, testing strategies, and especially design are seriously informed by the availability of frameworks。 If your team has to spend time re-inventing MVC or similar design patterns, even with the Gang of Four in hand, you are probably bleeding money。Not entirely unrelated to the absence of frameworks, I find it hard to understand why there is no mention of two-tier or three-tier applications。 Business software based on a relational database and offering a web interface is no longer just one of several options (was it, back in 1993?): it is the de facto standard。Also, dear Steve or editors: please start to include Python and Javascript already。 Less and less organizations do C++ anymore, and most of the reasons for that actually follow from your book! 。。。more

Kiro Selanor

This is one of the most important computer books I've ever read。 It greatly influenced how I write code。 This is one of the most important computer books I've ever read。 It greatly influenced how I write code。 。。。more

Larry

I didn't finish this one。 Not my cup of tea。 I think it's over a year since I picked this up, but if I recall correctly the focus is on the non-technical aspects of software development。 I didn't finish this one。 Not my cup of tea。 I think it's over a year since I picked this up, but if I recall correctly the focus is on the non-technical aspects of software development。 。。。more

Doris Raines

CODE COMPLETE GREAT TITLE。